home *** CD-ROM | disk | FTP | other *** search
- //Language: Clipper
- //Copyright (c) 1992-2002 Altium Limited
- //All rights reserved.
- //http://www.dream-com.com
- //contact@dream-com.com
-
- // states
- State=snormal
- State=sstring1
- State=sstring2
- State=scomment1
- State=scomment2
- State=scomment3
- State=scomment4
- State=scomment5
- State=sdirective
- // tokens
- Token=tnone
- Token=tstring
- Token=tcomment
- Token=tident
- Token=tinteger
- Token=tfloat
- Token=tresword
- Token=tassembler
- Token=turl
- Token=twhitespace
- Token=tdirective
- //delims
- Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
-
- // reswords
-
- snormal '.and.' snormal tresword
- snormal '.f.' snormal tresword
- snormal '.not.' snormal tresword
- snormal '.or.' snormal tresword
- snormal '.t.' snormal tresword
- snormal 'announce' snormal tresword
- snormal 'begin' snormal tresword
- snormal 'break' snormal tresword
- snormal 'case' snormal tresword
- snormal 'class' snormal tresword
- snormal 'continue' snormal tresword
- snormal 'declare' snormal tresword
- snormal 'do' snormal tresword
- snormal 'else' snormal tresword
- snormal 'elseif' snormal tresword
- snormal 'end' snormal tresword
- snormal 'endcase' snormal tresword
- snormal 'endclass' snormal tresword
- snormal 'enddo' snormal tresword
- snormal 'endif' snormal tresword
- snormal 'endsequence' snormal tresword
- snormal 'exit' snormal tresword
- snormal 'exported' snormal tresword
- snormal 'field' snormal tresword
- snormal 'for' snormal tresword
- snormal 'function' snormal tresword
- snormal 'hidden' snormal tresword
- snormal 'if' snormal tresword
- snormal 'in' snormal tresword
- snormal 'init' snormal tresword
- snormal 'local' snormal tresword
- snormal 'memvar' snormal tresword
- snormal 'method' snormal tresword
- snormal 'next' snormal tresword
- snormal 'nil' snormal tresword
- snormal 'note' snormal tresword
- snormal 'otherwise' snormal tresword
- snormal 'parameters' snormal tresword
- snormal 'private' snormal tresword
- snormal 'procedure' snormal tresword
- snormal 'protected' snormal tresword
- snormal 'public' snormal tresword
- snormal 'recover' snormal tresword
- snormal 'request' snormal tresword
- snormal 'return' snormal tresword
- snormal 'self' snormal tresword
- snormal 'sequence' snormal tresword
- snormal 'static' snormal tresword
- snormal 'step' snormal tresword
- snormal 'then' snormal tresword
- snormal 'to' snormal tresword
- snormal 'using' snormal tresword
- snormal 'var' snormal tresword
- snormal 'while' snormal tresword
-
- // numbers
- snormal [0-9][0-9]* snormal tinteger
- snormal [1-9][0-9]*\.[0-9]* snormal tfloat
- snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal tfloat
-
- //idents
- snormal [a-z_A-Z][a-z_A-Z0-9]* snormal tident
-
- //white space
- //snormal #32* snormal twhitespace
-
- //strings
- snormal \" sstring1 tstring
- sstring1 [^\"]* sstring1 tstring
- sstring1 \" snormal tstring
- sstring1 \"\" sstring1 tstring
- sstring1 $ snormal tstring
- //
- snormal \' sstring2 tstring
- sstring2 [^\']* sstring2 tstring
- sstring2 \' snormal tstring
- sstring2 \'\' sstring2 tstring
- sstring2 $ snormal tstring
-
- //comments
- snormal // scomment1 tcomment
- scomment1 [#1-#255]* snormal tcomment
- snormal && scomment2 tcomment
- scomment2 [#1-#255]* snormal tcomment
- snormal /\* scomment3 tcomment
- scomment3 [^\*]* scomment3 tcomment
- scomment3 \*[^/] scomment3 tcomment
- scomment3 [\*]*/ snormal tcomment
-
- snormal \* scomment4 tcomment
- scomment4 [#1-#255]* snormal tcomment
- snormal note scomment5 tcomment
- scomment5 [#1-#255]* snormal tcomment
- scomment1 $ snormal tcomment
- scomment2 $ snormal tcomment
- scomment4 $ snormal tcomment
- scomment5 $ snormal tcomment
-
- //directives
-
- snormal \# sdirective tdirective
- sdirective [#1-#255]* snormal tdirective
- sdirective $ snormal tdirective
-